FIG. 1 (Prior Art) illustrates a part of a programmable logic device employing a plurality of antifuses. The arrowheads labeled VPP and GND are coupled to the arrowtails labeled VPP and GND, respectively. The reader is referred for background information to: U.S. Pat. No. 5,327,024 entitled "Field Programmable Antifuse Device And Programming Method Therefor" (the contents of which are incorporated herein by reference), U.S. patent application Ser. No. 07/447,969 entitled "Method For Fabrication Of Programmable Interconnect Structure" (the contents of which are incorporated herein by reference), and U.S. patent application Ser. No. 07/892,466 entitled "Programmable Interconnect Structures And Programmable Integrated Circuits" (the contents of which are incorporated herein by reference).
To program pass antifuse 1, a conductive path from programming bus 2 to programming bus 3 is established by turning on programming disable transistor 4, programming pass transistors 5 and 6, and programming disable transistor 7. Programming current transistor 8 is turned on and with programming current transistor 10 off so that programming voltage VPP (for example, 12.5 volts with respect to ground potential) on terminal 9 is conducted through programming current transistor 8, through programming bus 2, through programming disable transistor 4, through programming pass transistor 5 and to one electrode of antifuse 1. Programming current transistor 11 is turned on with programming current transistor 12 off so that ground potential is conducted from GND terminal 13, through programming current transistor 11, through programming bus 3, through programming disable transistor 7, through programming pass transistor 6 and to another electrode of antifuse 1. Because programming pass transistor 14 is nonconductive, a sufficient voltage develops between the two electrodes of antifuse 1 to program antifuse 1 thereby forming a permanent low impedance connection.
Programming current flow is reversed by turning programming current transistor 10 on and programming current transistor 8 off to couple GND terminal 13 to programming bus 2, and by turning programming current transistor 12 on and programming current transistor 11 off to couple VPP terminal 9 to programming bus 3. In this way, programming current is made to flow in the opposite direction through antifuse 1. Pulses of current in different directions are pulsed through antifuse 1 in accordance with the technique set forth in U.S. Pat. No. 5,302,546 entitled "Programming Of Antifuses" (the contents of which are incorporated herein by reference).
In the circuit of FIG. 1, the gates of programming pass transistors 5 and 15 are coupled together, the gates of programming pass transistors 14 and 16 are coupled together, and the gates of programming pass transistors 6 and 17 are coupled together. To prevent antifuse 18 from being erroneously programmed when antifuse 1 is being programmed, programming disable transistors 19 and 20 are controlled to be nonconductive thereby preventing a flow of programming current through antifuse 18.
Because programmable logic devices comprise ever increasing numbers of antifuses as processing technology advances, the time required to program the desired antifuses on a programmable logic device one after another has also increased. It would therefore be desirable to program multiple antifuses simultaneously to reduce the total amount of time required to program all the desired antifuses of a programmable logic device.
If, however, it were attempted to program antifuses 1 and 18 at the same time, problems would likely be encountered. First, if antifuse 1 were to start to program first before antifuse 18, then current would flow through the on-resistances of programming current transistors 8 and 12, thereby reducing the voltage difference between programming buses 2 and 3. As a result, once antifuse 1 begins to program and current begins to flow, there may be an inadequate voltage between programming buses 2 and 3 to initiate programming of antifuse 18.
Second, the programmed conductivity of an antifuse (such as an amorphous silicon antifuse) may depend on the magnitude of current with which the antifuse is programmed. A large amount of programming current may be required to program the antifuse to have a satisfactorily low programmed resistance. Even if both antifuses 1 and 18 were to begin to program, one of antifuses 1 and 18 may be initially more conductive than the other. This would result in the more conductive antifuse conducting more of the programming current and thereby preventing enough programming current from flowing through the other antifuse. As a result, one of the antifuses may not be able to be programmed to an adequately low programmed resistance.
A programmable integrated circuit device architecture is therefore sought which overcomes these problems and facilitates the simultaneous programming of multiple antifuses.